package com.yuncheng.spcyApi.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yuncheng.spcyApi.entity.SpcyQyWlkcjl;
import com.yuncheng.spcyApi.mapper.SpcyQyWlkcjlMapper;
import com.yuncheng.spcyApi.service.ISpcyQyWlkcjlService;
import com.yuncheng.spcyApi.utils.GetCurrentUserUtils;
import com.yuncheng.spcyApi.utils.GetUuIdUtils;

import com.yuncheng.vo.CurrentUserVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import com.yuncheng.common.base.service.impl.BaseServiceImpl;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;

/**
 * @Description: 审评查验-企业物料库存记录
 * @Author: yuncheng
 * @Date: 2023-11-21
 * @Version: V1.0
 */
@Service
public class SpcyQyWlkcjlServiceImpl extends BaseServiceImpl<SpcyQyWlkcjlMapper, SpcyQyWlkcjl> implements ISpcyQyWlkcjlService {

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addRckRecords(String kcid,String type, Integer num, String sm) {
        SpcyQyWlkcjl wlkcjl = new SpcyQyWlkcjl();
        wlkcjl.setId(GetUuIdUtils.ReplaceUuId());
        wlkcjl.setFrcklx(type);
        wlkcjl.setFkcid(kcid);
        CurrentUserVo currentUser = GetCurrentUserUtils.getCurrentUser();
        if (currentUser != null){
            wlkcjl.setFczrid(currentUser.getId());
            wlkcjl.setFczrxm(currentUser.getName());
        }
        wlkcjl.setFczsm(sm);
        wlkcjl.setFczsl(num);
        wlkcjl.setFczsj(new Date());
        save(wlkcjl);
    }

    @Override
    public List<SpcyQyWlkcjl> findKcjlByKcId(String type, String kcid) {

        List<SpcyQyWlkcjl> list = list(new LambdaQueryWrapper<SpcyQyWlkcjl>()
                .eq(StringUtils.isNotBlank(type), SpcyQyWlkcjl::getFrcklx, type)
                .eq(StringUtils.isNotBlank(kcid), SpcyQyWlkcjl::getFkcid, kcid)
                .orderByAsc(SpcyQyWlkcjl::getFczsj));
        return list;
    }
}
